#!/usr/bin/env node
// node cli 应用入口必须要引入这样一个描述字符串
//console.log('测试node cli打印');
/**
 * 脚手架工作需要引入的工具插件
 */
const path = require('path')
const inquirer = require('inquirer')
const fs = require('fs')
const ejs = require('ejs')

inquirer.prompt([{
  type: 'input',
  name: 'name',
  message: '请输入项目名称'
}]).then(anwsers => {
  // 模板目录
  const temDir = path.join(__dirname, '../template')
  //目标目录
  const destDir = process.cwd()
  fs.readdir(temDir, (err, files) => {
    if (err) throw err
    files.forEach(file => {
      // 通过模板引擎渲染文件
      ejs.renderFile(path.join(temDir, file), anwsers, (err, result) => {
        if (err) throw err
        fs.writeFileSync(path.join(destDir, file), result)
      })
    })
  })
})
// 使用yarn link / npm link 关联到全局变量